/**
 * author:zhangxiaowu
 * date:2016年9月11日
 * version:1.0
 * email:uf_zhangxiaowu@163.com
 */

var alreadySetSkuVals = {}; //已经设置的SKU值数据


//sku属性发生改变时,进行表格创建
function creatTable() {
	getAlreadySetSkuVals(); //获取已经设置的SKU值
	console.log('alreadySetSkuVals', alreadySetSkuVals);
	var b = true;
	var skuTypeArr = [
		{
		skuValues: [{
			skuValueTitle: '名称',
			skuValueId: '12',
			skuPropId: '2',
		}],
		skuValueLen: 1,
		skuTypeTitle: '大标题',
		skuTypeKey:'23'

	},
	]; //存放SKU类型的数组
	var totalRow = 1; //总行数
	//获取元素类型
	$(".SKU_TYPE").each(function() {
		//SKU类型节点
		var skuTypeNode = $(this).children("li").children(".cusSkuTypeInput");
		var skuTypeObj = {}; //sku类型对象
		//SKU属性类型标题
		skuTypeObj.skuTypeTitle = $(skuTypeNode).val();
		//SKU属性类型主键
		var propid = $(this).children("li").attr("propid");
		skuTypeObj.skuTypeKey = propid;
		skuValueArr = []; //存放SKU值得数组
		//SKU相对应的节点
		var skuValNode = $(this).next();
		//获取SKU值
		var skuValCheckBoxs = $(skuValNode).find('.cusSkuValInput');
		var checkedNodeLen = 0; //选中的SKU节点的个数
		$(skuValCheckBoxs).each(function() {
			var skuValObj = {}; //SKU值对象
			skuValObj.skuValueTitle = $(this).val(); //SKU值名称
			skuValObj.skuValueId = $(this).attr("propvalid"); //SKU值主键
			skuValObj.skuPropId = $(this).attr("propid"); //SKU类型主键
			skuValueArr.push(skuValObj);
			checkedNodeLen++;
		});
		console.log('skuValueArr',skuValueArr)
		
		
		if (skuValueArr && skuValueArr.length > 0) {
			totalRow = totalRow * skuValueArr.length;
			skuTypeObj.skuValues = skuValueArr; //sku值数组
			skuTypeObj.skuValueLen = skuValueArr.length; //sku值长度
			skuTypeArr.push(skuTypeObj); //保存进数组中
		}
	});
	var SKUTableDom = ""; //sku表格数据
	//开始创建行
	if (b) { //必选的SKU属性已经都选中了

		//			//调整顺序(少的在前面,多的在后面)
		//			skuTypeArr.sort(function(skuType1,skuType2){
		//				return (skuType1.skuValueLen - skuType2.skuValueLen)
		//			});
		//			
		SKUTableDom += "<table class='skuTable'><tr>";
		//创建表头
		for (var t = 0; t < skuTypeArr.length; t++) {
			SKUTableDom += '<th>' + skuTypeArr[t].skuTypeTitle + '</th>';
		}
		SKUTableDom += '<th>价格</th><th>库存</th>';
		SKUTableDom += "</tr>";
		//循环处理表体
		for (var i = 0; i < totalRow; i++) { //总共需要创建多少行
			var currRowDoms = "";
			var rowCount = 1; //记录行数
			var propvalidArr = []; //记录SKU值主键
			var propIdArr = []; //属性类型主键
			var propvalnameArr = []; //记录SKU值标题
			var propNameArr = []; //属性类型标题
			for (var j = 0; j < skuTypeArr.length; j++) { //sku列
				var skuValues = skuTypeArr[j].skuValues; //SKU值数组
				var skuValueLen = skuValues.length; //sku值长度
				rowCount = (rowCount * skuValueLen); //目前的生成的总行数
				var anInterBankNum = (totalRow / rowCount); //跨行数
				var point = ((i / anInterBankNum) % skuValueLen);
				propNameArr.push(skuTypeArr[j].skuTypeTitle);
				if (0 == (i % anInterBankNum)) { //需要创建td
					currRowDoms += '<td rowspan=' + anInterBankNum + '>' + skuValues[point].skuValueTitle + '</td>';
					propvalidArr.push(skuValues[point].skuValueId);
					propIdArr.push(skuValues[point].skuPropId);
					propvalnameArr.push(skuValues[point].skuValueTitle);
				} else {
					//当前单元格为跨行
					propvalidArr.push(skuValues[parseInt(point)].skuValueId);
					propIdArr.push(skuValues[parseInt(point)].skuPropId);
					propvalnameArr.push(skuValues[parseInt(point)].skuValueTitle);
				}
			}
			//				
			//				//进行排序(主键小的在前,大的在后),注意:适用于数值类型的主键
			//				propvalidArr.sort(function(provids1,propvids2){
			//					return (provids1 - propvids2)
			//				});

			var propvalids = propvalidArr.toString()
			var alreadySetSkuPrice = ""; //已经设置的SKU价格
			var alreadySetSkuStock = ""; //已经设置的SKU库存
			//赋值
			if (alreadySetSkuVals) {
				var currGroupSkuVal = alreadySetSkuVals[propvalids]; //当前这组SKU值
				if (currGroupSkuVal) {
					alreadySetSkuPrice = currGroupSkuVal.skuPrice;
					alreadySetSkuStock = currGroupSkuVal.skuStock
				}
			}
			//console.log(propvalids);
			SKUTableDom += '<tr propvalids=\'' + propvalids + '\' propids=\'' + propIdArr.toString() + '\' propvalnames=\'' +
				propvalnameArr.join(";") + '\'  propnames=\'' + propNameArr.join(";") + '\' class="sku_table_tr">' + currRowDoms +
				'<td><input type="text" class="setting_sku_price" value="' + alreadySetSkuPrice +
				'"/></td><td><input type="text" class="setting_sku_stock" value="' + alreadySetSkuStock + '"/></td></tr>';
		}
		SKUTableDom += "</table>";
	}
	$("#skuTable").html(SKUTableDom);
}


/**
 * 获取已经设置的SKU值 
 */
function getAlreadySetSkuVals() {
	alreadySetSkuVals = {};
	//获取设置的SKU属性值
	$("tr[class*='sku_table_tr']").each(function() {
		var skuPrice = $(this).find("input[type='text'][class*='setting_sku_price']").val(); //SKU价格
		var skuStock = $(this).find("input[type='text'][class*='setting_sku_stock']").val(); //SKU库存
		if (skuPrice || skuStock) { //已经设置了全部或部分值
			var propvalids = $(this).attr("propvalids"); //SKU值主键集合
			alreadySetSkuVals[propvalids] = {
				"skuPrice": skuPrice,
				"skuStock": skuStock
			}
		}
	});
}
